Plano de Gestão e Configuração de Software
Histórico de Revisão
Data | Versão | Descrição | Autor(es) |
---|---|---|---|
31/08/2019 | 0.1 | Criação do Documento de GCS | Rafael |
02/09/2019 | 0.2 | Adicionada Introdução e Itens de Configuração | Rafael |
02/09/2019 | 0.3 | Adicionada Politica de commits | Rafael |
03/09/2019 | 0.4 | Adicionada Politica de branchs | Rafael |
05/09/2019 | 0.5 | Adicionados os topicos 4,5 e 6 | Rafael |
18/11/2019 | 0.6 | Adicionados os topicos 4,5 e 6 | Rafael |
1. Introdução
Este documento tem como finalidade estabelecer os procedimentos de gerência e configuração de software a serem seguidos no projeto.
2. Itens de Configuração
A preocupação da equipe, referente à configuração, é voltada para a documentação textual e o código. Estes são dispostos conforme o seguinte:
-
Código: Todo e qualquer artefato que seja composto de uma ou mais linguages de programação.
-
Documento: Todo e qualquer artefato textual que contenha informações da matodologia, planejamento, produto, integração da equipe, reuniões e demais informações pertinentes ao processo de desenvolvimento do produto.
3. Políticas
3.1 Política de Commits
-
Os commits devem ser criados logo em seguida à finalização de um conjunto conexo de alterações, descrevendo-o de forma sucinta e atômica. O texto deve descrever o que foi produzido, de forma resumida e em inglês, com o tempo verbal no particípio. Como no seguinte formato:
-
Texto começando com letra maiúscula e com o verbo no particípio.
-
Exemplo:
Updated product logo
- Commits devem ser redigidos no idioma inglês
- Devem ser simples e concisos, possuindo títulos curtos
- Commits devem descrever o que está sendo alterado, se houver mais de uma alteração (pertinente ao commit) ela deve ser adicionada na descrição do commit
- Devem iniciar com letras maiúsculas.
- Devem iniciar com um verbo no particípio informando seu objetivo. Ex: "Deleted old files"
3.2 Política de Branches
A política de branches tem o propósito de definir a forma interna de trabalho quanto a organização/implementação de código e ficou definida conforme a imagem a seguir.
-
A Master será a branch principal do projeto em um dado repositório.
-
A Master será a branch estável do projeto e só sera atualizada, a partir da branch development, quando um pull request for aceito. É proíbido que membros subam commits diretamente na Master.
-
A única exceção para essa régra sera no repositório da Wiki.
-
As branches auxiliares são para a resolução das funcionalidades ou correções de erro. Cada Tarefa ou bugfix terá sua própria branch, criada a partir da branch development, e terá como nomenclatura o seguinte padrão:
TF[ID da Tarefa no RoadMap]-[Nome da Tarefa]
ou
FIX[ID da issue a ser resolvida]-[Nome da issue]
ou
FIX[Nome da correcao ou configuracao]
ou
TE-[Nome da Tarefa Extra]
- Para cada Feature uma nova branch deve ser criada com base no último commit da develop.
3.2.1 Conflitos
- Se um pull request causar algum tipo de conflito, é deve da equipe responsável pelo pull request resolver o conflito, prezando pela integridade e organização do histórico de commits, e então deve ser refeito o pedido para avaliação do merge.
3.3 Política de Aprovação do Código
Para a aprovação do código, este deve ser aprovado por ao menos dois desenvolvedores da equipe diferente daquele que o submeteu ou sua dupla, caso exista.
4. Uso de Issues
-
As issues serão criadas com o objetivo de mapear as histórias de usuário, histórias técnicas e bugs, tendo assim um maior controle sobre eles. Isso facilitará o controle já que o github possui uma plataforma integrada para o acompanhamento de issues.
-
As issues serão divididas em labels com o intuito de facilitar a identificação da sua origem. As labels definidas para o projeto serão:
-
Tarefa: Utilizada para issues que representam features ou atividades do projeto.
- Tarefa Extra: Utilizada para issues que representam tarefas extras do projeto.
- Refatoração: Utilizada para issues que representam refatoração do código.
- Front: Utilizada para issues que representam refatoração do layout.
-
Bug: Utilizada para issues que representam correção de bugs.
-
Caso o time sinta a necessidade de acrescentar uma nova label, este documento deverá ser atualizado.
-
O padrão do nome das issues terá o seguinte formato:
TF <ID da Tarefa no RoadMap> - <Nome definido pela equipe para a tarefa>
FIX - <Nome definido para a história pela equipe>
TE - <Nome definido para a história pela equipe>
- Exemplo : "TAREFA 1.1 - Tarefa".
5. Repositório de documentação
O repositório de documentação é encontrado na wiki do projeto. O objetivo da Wiki é armazenar toda a documentação criada pela equipe durante o processo de desenvolvimento. Práticas e medidas adotadas serão armazenas no repositório.
6. Referências
-
QueroCultura. Plano de Gerenciamento de Configuração. Disponível em https://github.com/fga-eps-mds/2017.2-QueroCultura/wiki/Plano-de-Gerenciamento-de-Configura%C3%A7%C3%A3o
-
Unigrade. Plano de Gestão e Configuração de Software. Disponível em https://ads-unigrade-2019-1.github.io/Wiki/dinamica02/GCS/